1. Field of the Invention
The present invention relates to laser scanning systems for reading bar code symbols, and more particularly, to an automatic gain control circuit for dynamically adjusting the gain of a receiver that is used to receive the light reflected from the bar code.
2. Discussion of the Prior Art
Typical bar code reading systems, such as the one described in U.S. Pat. No. 4,496,831, assigned to the same assignee as the present invention, generally comprise light source, an optic train including focusing lenses for directing the light source across a bar code symbol, and a sensing means for detecting reflected light from the target bar code symbol being scanned. The light source is usually a semiconductor laser diode. Light generated by it passes through the optic train which focuses the beam to impinge upon the scanning means which are mounted in the light path within the scanning head of the device. The scanning means sweeps the laser beam across the bar code symbol and comprises at least one scanning motor. Light reflecting means such as mirrors are mounted on the motor shaft to direct the beam through an outlet port to the symbol. The sensing means then detects and processes the light reflected off the symbol, and generally comprises photosensitive elements such as a semiconductor photodiode. The detected light is converted into an electrical signal and is then passed through a receiver where the signal is amplified, processed, and subsequently decoded.
Automatic Gain Control ("AGC") is presently used in laser scanning devices to dynamically adjust overall receiver gain. The use of AGC allows the laser scanning device to decode symbols over larger distances than would be possible if the receiver gain of the laser scanning device was fixed.
The AGC circuitry presently used in laser scanning devices requires many scans to correctly adjust overall receiver gain. This is because the response time of the AGC is dependent upon various factors including: the configuration of the target bar code symbol being scanned, the physical distance between the bar code symbol and the scanner, and the amount of ambient light present in the field of view of the scanner. For instance, depending upon the ambient light conditions and the bar code symbol being scanned, the AGC response time can range from several hundred milliseconds and, in extreme cases, can be as long as several seconds. An example of how long AGC response time can be is shown by department store cashiers who use a hand-held laser scanning gun to decode the bar code symbols present on the merchandise. In many instances, the cashier must repeatedly scan the same symbol until the correct decodable symbol is obtained.
The typical AGC that is used in bar code scanning devices controls receiver gain by monitoring and regulating the peak average value of the receiver's output signal. The receiver is comprised of several discrete amplifier stages that are connected in tandem to deliver a large overall gain from the input to the output of the receiver.
The AGC circuit senses the final output of the receiver, and adjusts the gain of one of the discrete amplifiers that is located in an early stage of amplification in the receiver. In effect, a feedback path is created from the output of the receiver through the AGC circuit to one amplifier that has an adjustable gain feature that the AGC circuit controls. This feedback allows the AGC circuit to regulate the output of the receiver at a constant amplitude despite any fluctuations in the magnitude of the input signal.
The AGC circuit peak detects and filters the output signal which results in a direct current (d.c.) voltage which is proportional to the average peak value of the received signal. The AGC circuit then compares this average peak value of the output signal to a fixed d.c. reference voltage and dynamically adjusts receiver gain in an attempt to reduce any difference between these two voltages.
The average peak value of the output voltage is used because it makes the AGC impervious to short duration large excursions of the output voltage which otherwise would introduce large errors in receiver gain. For example, a signal received by a bar code scanner could contain undesired receiver output excursions that result from reflections off of packaging material that is adjacent to the bar code being scanned. In sensing the average peak output, the AGC will be less sensitive to these undesirable signal excursions. Unfortunately, in order to accurately determine what the average peak receiver output is, the AGC requires many cycles of the input signal to reach a steady state gain setting. In some instances, it could take a long time for the AGC to finally set receiver gain properly.
The amount of time the AGC requires to reach steady state, for a given input, is commonly referred to as "attack time". Reducing the attack time in an AGC circuit that has a single feedback path from the receiver, however, will also increase the error in the steady state output signal amplitude. Traditionally, the circuit designer in designing an AGC, trades off accuracy for any reduction in attack time. The end result of the design is an AGC that is inherently slow due to the accuracy requirements imposed by the system.
In addition to the limitation imposed by attack time, the AGC response time is limited by the presence of large low-frequency components in the output signal. Large low-frequency components can cause the output amplifier to saturate. As a result, the higher frequency components of the output voltage signal which are used to set receiver gain, are clipped and therefore will not contribute to the gain setting action of the AGC. In extreme cases, the saturation of the output amplifier could cause large errors in the gain setting of the received which could result in a failure to decode the symbol being scanned.
In view of the above-mentioned features and limitations of typical AGC circuitry that degrade the receiver's steady state response time, an AGC circuit which quickly adjusts overall receiver gain would be highly desirable. It is accordingly an object of the present invention to fulfill this need by providing an automatic gain control circuit with the capability of providing a decodable signal within a much shorter period of time.